Virtual machines (VMs) are used to allow several logical computers to run on a single computing device. VMs conveniently may also be created on-the-fly as needed. Typically, a VM makes use of several different disk volumes, including, for example, a configuration volume, a data volume, a swap volume, etc. In some systems (e.g., VMware), each VM has at least four volumes, and each volume may have up to 32 snapshots (presenting a view of the data on that volume at a particular moment in time). Thus, each VM may be associated with 128 or more volumes. If a system runs 1,000 VMs, for example, there may be on the order of 128,000 volumes, which is more than a typical data storage system is capable of presenting at once, even if the system is internally capable of managing that many logical drives.
A virtual logical volume (e.g., a VMWare VVol) is a logical volume that is managed by a data storage system but presented to an external host via a protocol endpoint (PE). A PE presents many internal logical volumes to an external host. An external host is able to monitor and manage virtual logical volumes on a data storage system (DSS) by making management calls to a virtual logical volume manager. For example, in the case of VMWare VVols, the host may make calls using the vSphere Storage APIs for Storage Awareness (VASA) to a VASA provider application operating either on or off of the DSS.